#ifndef ENGINE_H
#define ENGINE_H

#ifndef BE_DLL
#define BE_DLL __declspec(dllimport)
#endif

#if _WIN32
#pragma warning(disable:4996) // Fopen() make a warning
#endif

/* Standart libs */
#include <iostream>
#include <string>
#include <fstream>
#include <math.h>

using namespace std;

/* SDL's libs */
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>

/* Internal libs */
#include <Input.h>
#include <Scene.h>

class BE_DLL Engine {
public:
	Engine();
	~Engine();

	void SetRoot( const char *dest );
	void LoadRoot( void );
	void Init( int Width, int Height );

	bool GetContinue( Input *in );

	void Frame( Scene *scene );
	void SetFps( int FPS );
	void Interrupt( void );

	void Quit( void );

	char *root;

private:
	SDL_Surface *screen;
	int Fps;
};

#endif